package com.ruoyi.production.service.impl.blade;

import java.util.List;
import com.ruoyi.common.utils.DateUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.production.mapper.blade.BladeAmountMapper;
import com.ruoyi.production.domain.blade.BladeAmount;
import com.ruoyi.production.service.blade.IBladeAmountService;

/**
 * 刀片量Service业务层处理
 *
 * @author ruoyi
 * @date 2021-07-12
 */
@Service
public class BladeAmountServiceImpl implements IBladeAmountService
{
    @Autowired
    private BladeAmountMapper bladeAmountMapper;

    /**
     * 查询刀片量
     *
     * @param bladeAmountId 刀片量ID
     * @return 刀片量
     */
    @Override
    public BladeAmount selectBladeAmountById(Long bladeAmountId)
    {
        return bladeAmountMapper.selectBladeAmountById(bladeAmountId);
    }

    /**
     * 查询刀片量列表
     *
     * @param bladeAmount 刀片量
     * @return 刀片量
     */
    @Override
    public List<BladeAmount> selectBladeAmountList(BladeAmount bladeAmount)
    {
        return bladeAmountMapper.selectBladeAmountList(bladeAmount);
    }

    /**
     * 新增刀片量
     *
     * @param bladeAmount 刀片量
     * @return 结果
     */
    @Override
    public int insertBladeAmount(BladeAmount bladeAmount)
    {
        bladeAmount.setCreateTime(DateUtils.getNowDate());
        //        向已有的数据直接在原来的基础上添加库存
        int r =bladeAmountMapper.updateBladeAmount1(bladeAmount);
        if(r==0) {
            //        若原来的上面没有，则新加数据
            return bladeAmountMapper.insertBladeAmount(bladeAmount);
        }
        return 1;
    }

    /**
     * 修改刀片量
     *
     * @param bladeAmount 刀片量
     * @return 结果
     */
    @Override
    public int updateBladeAmount(BladeAmount bladeAmount)
    {
        bladeAmount.setUpdateTime(DateUtils.getNowDate());
        //        删除这条数据，将这条数据当作新数据处理
        bladeAmountMapper.deleteBladeAmountById(bladeAmount.getBladeAmountId());
        //        若原来已有的数据，则向已有的数据直接在原来的基础上添加库存
        int r =bladeAmountMapper.updateBladeAmount1(bladeAmount);
        if(r==0){
            //        若原来的上面没有，则当作新数据插入
            return bladeAmountMapper.insertBladeAmount(bladeAmount);
        }
        return 1;
    }

    /**
     * 批量删除刀片量
     *
     * @param bladeAmountIds 需要删除的刀片量ID
     * @return 结果
     */
    @Override
    public int deleteBladeAmountByIds(Long[] bladeAmountIds)
    {
        return bladeAmountMapper.deleteBladeAmountByIds(bladeAmountIds);
    }

    /**
     * 删除刀片量信息
     *
     * @param bladeAmountId 刀片量ID
     * @return 结果
     */
    @Override
    public int deleteBladeAmountById(Long bladeAmountId)
    {
        return bladeAmountMapper.deleteBladeAmountById(bladeAmountId);
    }
}
